% 定义文件路径
filename = 'C:\git\liquidsensing-master\matlab\curve.log';

% 打开日志文件
fileID = fopen(filename, 'r');
if fileID == -1
    error('无法打开文件: %s', filename);
end

% 初始化存储数据的数组
setpoint = [];
input1 = [];
input2 = [];
input3 = [];
time = [];

% 循环逐行读取文件
while ~feof(fileID)
    tline = fgetl(fileID);

    % 尝试匹配目标格式的数据行
    data_tokens = regexp(tline, '\w*:\s*(\d+\.\d+) \w*:\s*(\d+\.\d+) \w*:\s*(-?\d+\.\d+) \w*:\s*(-?\d+\.\d+) \w*:\s*(-?\d+\.\d+)', 'tokens');
  
    % 如果匹配到目标格式，解析并存储数据
    if ~isempty(data_tokens)
        data = str2double(data_tokens{1});
        time = [time; data(5)];
        setpoint = [setpoint; data(1)];
        input1 = [input1; data(2)];
        input2 = [input2; data(3)];
        input3 = [input3; data(4)];
        
    end
end

% 关闭文件ad
fclose(fileID);

% 检查是否成功解析了数据
if isempty(setpoint) || isempty(input1) || isempty(input2)
    error('未找到任何目标格式的数据');
end
%time = (0:length(setpoint)-1)';
% 绘制图像
figure;
hold on;
plot(time, setpoint, 'b', 'LineWidth', 1); 
plot(time, input1, 'r', 'LineWidth', 1);   
plot(time, input2, 'g', 'LineWidth', 1);
plot(time, input3, 'y', 'LineWidth', 1);
hold off;

% 设置图像属性
xlabel('Level (s)');
ylabel('PF ');
title('Setpoint and Input Temperature Over Time');
legend('RE', 'RL','LEV','LEV(0)');
grid on;

% 保存图像（可选）
%saveas(gcf, '.png');
